/**
 * 
 */
package scriptrunner.execution;

/**
 * @author Administrator
 * 
 */
public interface ArithmeticCalculable extends Addable {
	abstract public ValueObject Minus(ArithmeticCalculable o)
			throws ExecuteErrorException;

	abstract public ValueObject Times(ArithmeticCalculable o)
			throws ExecuteErrorException;

	abstract public ValueObject Divide(ArithmeticCalculable o)
			throws ExecuteErrorException;

	abstract public ValueObject UnaryMinus() throws ExecuteErrorException;

	abstract public void ParseFromString(String s) throws ExecuteErrorException;

	abstract public String SaveValueToString();

	abstract public int ArithmeticTypePreference();
}
